<?php

class NavegadorController extends AppController {

    var $name = 'Navegador';
    var $uses = array('TiendaLocal', 'Punto', 'Impresion', 'Plantilla', 'Cotizacion', 'CotizacionDetalle', 'Facturacion', 'FacturacionDetalle', 'CartaOrden');
    var $components = array('Vista', 'Maestro', 'Interfaz', 'Formatos', 'Pdf');
    var $helpers = array('Interfaz');
    var $layout = "ajax";

    public function beforeFilter() {
        
    }

    public function afterFilter() {
        $this->auditoria();
    }

    public function validar_datos($c_tie = null, $c_cla = null, $c_ip = null) {

        if ($c_tie != null) {
            $dato_t = $this->TiendaLocal->find('first', array('fields' => array('TiendaLocal.id', 'TiendaLocal.base_datos'), 'conditions' => array('TiendaLocal.codigo' => $c_tie, 'TiendaLocal.estatus' => 1)));
            if (count($dato_t) > 0) {
                $tiendaSesion = $dato_t['TiendaLocal']['base_datos'];
                $objPunto = $this->Maestro->modelo('punto', 'Punto', $tiendaSesion);
                $t_id = $dato_t['TiendaLocal']['id'];
                $dato_p = $objPunto->find('first', array('fields' => array('Punto.id'), 'conditions' => array('Punto.tienda_id' => $t_id, 'Punto.ip' => $c_ip, 'Punto.clave' => $c_cla, 'Punto.estatus' => 1, 'Punto.conectado' => 1)));

                if (count($dato_p) > 0) {
                    $datos['Punto']['id'] = $dato_p['Punto']['id'];
                    $datos['Punto']['tienda'] = $tiendaSesion;
                    return $datos;
                    echo $datos['Punto']['id'];
                } else {
                    $this->setear_2('error', 'datos de configuracion erroneos');
                }
            } else {
                $this->setear_2('error', 'Codigo de Tienda erroneo');
            }
        } else {
            $this->setear_2('error', 'Codigo de Tienda erroneo');
        }
        return null;
    }

    public function sesion() {
        if (count($_POST) > 1) {
            $c_tie = (isset($_POST['tienda'])) ? $_POST['tienda'] : null;
            $c_cla = (isset($_POST['clave'])) ? $_POST['clave'] : null;
            $c_ip = (isset($_POST['ip'])) ? $_POST['ip'] : null;
            if ($this->validar_datos($c_tie, $c_cla, $c_ip)) {
                $this->set('res', 'true');
            } else {
                $this->set('res', 'false');
            }
        } else {
            $this->setear_2('false', 'NO HAY PARAMETROS POST');
        }
    }

    public function version() {
        if (count($_POST) > 1) {
            $c_tie = (isset($_POST['tienda'])) ? $_POST['tienda'] : null;
            $c_cla = (isset($_POST['clave'])) ? $_POST['clave'] : null;
            $c_ip = (isset($_POST['ip'])) ? $_POST['ip'] : null;
            if ($this->validar_datos($c_tie, $c_cla, $c_ip)) {
                $this->set('res', '1.0');
            } else {
                $this->set('res', '1.0');
            }
        } else {
            $this->setear_2('error', 'NO HAY PARAMETROS POST');
        }
    }

    /*public function imprimir_OLD() {
        // echo $this->consultarRIF('J-299263320');
        if (count($_POST) > 1) {
            $c_tie = (isset($_POST['tienda'])) ? $_POST['tienda'] : null;
            $c_cla = (isset($_POST['clave'])) ? $_POST['clave'] : null;
            $c_ip = (isset($_POST['ip'])) ? $_POST['ip'] : null;
            $dato_p = $this->validar_datos($c_tie, $c_cla, $c_ip);
            if (count($dato_p) > 0) {
                $dato_i = $this->tableImpresions($dato_p);
                if (count($dato_i) > 0) {
                    $tipoDoc = $dato_i['Impresion']['tipo_documento'];
                    $idDoc = $dato_i['Impresion']['documento_id'];
                    $estatus = $dato_i['Impresion']['impresion'];
                    $idImpre = $dato_i['Impresion']['id'];
                    $nombre = $tipoDoc . "_Impresion_" . $dato_i['Impresion']['id'];
                    $impresora = $dato_i['Impresion']['tipo_impresion'];

                    $Plantilla = $this->ConsultaPlantilla($tipoDoc);
                    if (count($Plantilla) < 1) {
                        $formato = 'NO SE TIENE UN FORMATO "' . $tipoDoc . '" CONFIGURADO';
                        $this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                    } else {
                        if ($tipoDoc == 'FAC') {
                            // CONSULTA FATURA                         
                            $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                            //$datos=$this->ConsultaFactura($idDoc,$dato_p,$c_tie, $c_cla, $c_ip);
                            //$fat = json_encode($datos);
                            //pr($datos);
                            // FORMATO FATURA
                            $formato = $this->Formatos->Factura($Plantilla, $datos);
                            $this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                        } else if ($tipoDoc == 'DEV') {
                            // CONSULTA FATURA                         
                            $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                            // FORMATO FATURA
                            $formato = $this->Formatos->Devolucion($Plantilla, $datos);
                            $this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                        } else if ($tipoDoc == 'COT') {
                            $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                            //$fat = json_encode($datos);
                            //pr($datos);
                            // FORMATO COTIZACION
                            $formato = $this->Formatos->Cotizacion($Plantilla, $datos);
                            $this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                        } else if ($tipoDoc == 'NCR') {
                            $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                            $formato = $this->Formatos->NotaCredito($Plantilla, $datos);
                            $this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                        } else if ($tipoDoc == 'NDB') {
                            $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                            $formato = $this->Formatos->NotaDebito($Plantilla, $datos);
                            $this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                        }  else if ($tipoDoc == 'CTO') {
                            $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                            $formato = $this->Formatos->CartaOrden($Plantilla, $datos);
                            $this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                        }
                        else
                            $this->setear('LA CONDICION "$tipoDoc" NO EXISTE');
                    }
                } else
                    $this->setear('NO HAY DATOS POR IMPRIMIR');
            } else
                $this->setear('DATOS DE SESION NO VALIDOS');
        } else
            $this->setear('NO EXISTEN PARAMETROS _GET _POST');
    }*/

  /*  
    http://90.90.90.2:9000/Navegador/actualizar_imprimir/?tienda=T002&clave=123456&ip=90.90.90.2&discoduro=41316a31-5c29-4dc9-8306-0df03bb16db7&idimpre=34&valor=2
Loading page (1/2)
Printing pages (2/2)                                               
Done                                                           
http://90.90.90.2:9000/Navegador/actualizar_imprimir/?tienda=T002&clave=123456&ip=90.90.90.2&discoduro=41316a31-5c29-4dc9-8306-0df03bb16db7&idimpre=34&valor=3
    
  */  
    
    public function actualizar_imprimir() {
        if (count($_POST) > 1) {
            $c_tie = (isset($_POST['tienda'])) ? $_POST['tienda'] : null;
            $c_cla = (isset($_POST['clave'])) ? $_POST['clave'] : null;
            $c_ip = (isset($_POST['ip'])) ? $_POST['ip'] : null;
            $id = (isset($_POST['idimpre'])) ? $_POST['idimpre'] : null;
            $valor = (isset($_POST['valor'])) ? $_POST['valor'] : null;
            $dato_p = $this->validar_datos($c_tie, $c_cla, $c_ip);

            if (count($dato_p) > 0) {
                $punto_id = $dato_p['Punto']['id'];

                $tiendaSesion = $dato_p['Punto']['tienda'];
                $objImpresion = $this->Maestro->modelo('punto', 'Impresion', $tiendaSesion);
                $dato_i = $objImpresion->find('first', array('fields' => array('Impresion.id', 'Impresion.impresion', 'Impresion.documento_id', 'Impresion.tipo_documento', 'Impresion.pausa'), 'conditions' => array('Impresion.id' => $id, 'Impresion.estatus' => 1, 'Impresion.pausa' => 1), 'order' => 'id asc'));
                $qwert = false;
               
                if (count($dato_i) > 0) {


                    if ($dato_i['Impresion']['tipo_documento'] == 'FAC') {
                        $obj = $this->Maestro->modelo('punto', 'Facturacion', $tiendaSesion);
                        $tabla = 'facturas';
                        $qwert = true;
                    } else if ($dato_i['Impresion']['tipo_documento'] == 'COT') {
                        $obj = $this->Maestro->modelo('punto', 'Cotizacion', $tiendaSesion);
                        $tabla = 'cotizacions';
                        $qwert = true;
                    } else if ($dato_i['Impresion']['tipo_documento'] == 'DEV') { // AQUI FALTA LAS NOTAS Y DEVOLUCIONES
                        $obj = $this->Maestro->modelo('punto', 'Devolucion', $tiendaSesion);
                        $tabla = 'devolucions';
                        $qwert = true;
                    } else if ($dato_i['Impresion']['tipo_documento'] == 'NCR') {
                        $obj = $this->Maestro->modelo('punto', 'NotaCredito', $tiendaSesion);
                        $tabla = 'nota_creditos';
                        $qwert = true;
                    } else if ($dato_i['Impresion']['tipo_documento'] == 'NDB') {
                        $obj = $this->Maestro->modelo('punto', 'NotaDebito', $tiendaSesion);
                        $tabla = 'nota_creditos';
                        $qwert = true;
                    } else if ($dato_i['Impresion']['tipo_documento'] == 'CTO') {
                        $obj = $this->Maestro->modelo('punto', 'CartaOrden', $tiendaSesion);
                        $tabla = 'carta_ordens';
                        $qwert = true;
                    }
                    
                    $objImpresion->query('BEGIN');
                    $id_documento = $dato_i['Impresion']['documento_id'];
                    $data['Impresion']['id'] = $id;
                    $data['Impresion']['impresion'] = $valor;
                    if($valor==2)
                       $data['Impresion']['pausa'] = 1;
                    else
                       $data['Impresion']['pausa'] = 0;     


                    if ($objImpresion->save($data)) {
                        $valida = true;
                        $transaccion = 'COMMIT';
                    } else {
                        $valida = false;
                        $transaccion = 'ROLLBACK';
                    }

                    if ($valida) {
                        $data = null;
                        //echo $valor;
                        $pausa = $objImpresion->find('first', array('fields' => array('Impresion.id', 'Impresion.impresion', 'Impresion.documento_id', 'Impresion.tipo_documento', 'Impresion.pausa'), 'conditions' => array('Impresion.id > ' => $id, 'Impresion.estatus' => 1), 'order' => 'id asc', 'limit' => 1));
                        if (count($pausa) > 0) {
                            $pausa2['Impresion']['id'] = $pausa['Impresion']['id'];
                            if($valor==2)
                                $pausa2['Impresion']['pausa'] = 0;
                            else
                                $pausa2['Impresion']['pausa'] = 1;
                            if ($objImpresion->save($pausa2)) {
                                $transaccion = 'COMMIT';
                            } else {
                                $transaccion = 'ROLLBACK';
                            }
                        }

                        if ($qwert) {
                            $sql = "UPDATE $tabla SET impresion = impresion + 1 WHERE id = $id_documento";
                            $obj->query($sql);
                            $transaccion = 'COMMIT';
                        }
                    } else {
                        $transaccion = 'ROLLBACK';
                    }
                    $objImpresion->query($transaccion);
                      $this->set('res', 'true');
                } else {
                    $this->set('res', 'false');
                }
            } else {
                $this->set('res', 'false');
            }
        } else {
            $this->set('res', 'dfalse');
        }
    }

    public function uuid() {
        if (count($_POST) > 1) {
            $c_tie = (isset($_POST['tienda'])) ? $_POST['tienda'] : null;
            $c_cla = (isset($_POST['clave'])) ? $_POST['clave'] : null;
            $c_ip = (isset($_POST['ip'])) ? $_POST['ip'] : null;

            if ($c_tie != null) {
                $dato_t = $this->TiendaLocal->find('first', array('fields' => array('TiendaLocal.id', 'TiendaLocal.base_datos'), 'conditions' => array('TiendaLocal.codigo' => $c_tie, 'TiendaLocal.estatus' => 1)));
                if (count($dato_t) > 0) {
                    App::import('Model', 'Punto');
                    $tiendaSesion = $dato_t['TiendaLocal']['base_datos'];
                    $objPunto = $this->Maestro->modelo('punto', 'Punto', $tiendaSesion);
                    $t_id = $dato_t['TiendaLocal']['id'];
                    $dato_p = $objPunto->find('first', array('fields' => array('Punto.uuid'), 'conditions' => array('Punto.tienda_id' => $t_id, 'Punto.ip' => $c_ip, 'Punto.clave' => $c_cla, 'Punto.estatus' => 1)));

                    if (count($dato_p) > 0) {
                        $this->setear_2($dato_p['Punto']['uuid']);
                    } else {
                        $this->setear_2();
                    }
                } else {
                    $this->setear_2();
                }
            } else {
                $this->setear_2();
            }
        } else {
            $this->setear_2('error', 'NO HAY PARAMETROS POST');
        }
    }

    function creaCotizacion($c_tie = 'T001', $id) {
        echo $nombre = "COT_{$c_tie}_" . date('dmYhis');
        $this->render('imprimir');
    }

    private function ConsultaPlantilla($tipoDocumento = null) {
        return $this->Plantilla->find('first', array('conditions' => array('Plantilla.codigo' => $tipoDocumento, 'Plantilla.estatus' => 1), 'order' => 'id asc'));
        //http://webcodertools.com/imagetobase64converter/Create
    }

    private function ArrayDatos($ar = null) {
        return json_decode($ar, true);
    }

    private function ConsultaFactura($idDocumento = null, $dato_p = null, $c_tie = null, $c_cla = null, $c_ip = null) {

        $tiendaSesion = $dato_p['Punto']['tienda'];
        $objFacturacion = $this->Maestro->modelo('punto', 'Facturacion', $tiendaSesion);
        $objFacturacionDetalle = $this->Maestro->modelo('punto', 'FacturacionDetalle', $tiendaSesion);
        $objMateriales = $this->Maestro->modelo('punto_maestros', 'Material', $tiendaSesion);
//echo "Factura id: ".$idDocumento;
        $documento = $objFacturacion->find('first', array('conditions' => array('Facturacion.estatus' => 1, 'Facturacion.id' => $idDocumento)));
        $documentoDetalle = $objFacturacionDetalle->find('all', array('conditions' => array('FacturacionDetalle.factura_id' => $idDocumento)));

        $datos = array();
/////////////// INICIO ENCABEZADO /////////
        $datos['Cabecera']['numero'] = $documento['Facturacion']['numero'];
        $datos['Cabecera']['clientenombre'] = $documento['Cliente']['nombre'];
        $datos['Cabecera']['clientedocumento'] = $documento['Cliente']['documento'];
        $datos['Cabecera']['clientedireccion'] = $documento['Cliente']['direccion'];
        $datos['Cabecera']['observacion'] = $documento['Facturacion']['observacion'];
        $datos['Cabecera']['fecha'] = $this->Interfaz->formatofecha($documento['Facturacion']['fecha']);
        $condicion = $documento['Facturacion']['tipodeventa'];
        if ($condicion == 1)
            $condicion = "CREDITO";
        else if ($condicion == 2)
            $condicion = "CONTADO";
        else if ($condicion == 3)
            $condicion = "DONACIONES";
        else
            $condicion = "INDEFINIDO EN NavegadorController";
        $datos['Cabecera']['tipodeventa'] = $condicion;
        $datos['Cabecera']['observacion'] = $documento['Facturacion']['observacion'];
        $tienda = $this->TiendaLocal->find('first', array('fields' => array('TiendaLocal.codigo', 'TiendaLocal.nombre'), 'conditions' => array('TiendaLocal.codigo' => $c_tie, 'TiendaLocal.estatus' => 1)));
        $codtie = str_replace('T', '', $tienda['TiendaLocal']['codigo']);
        $tienda_nombre = $tienda['TiendaLocal']['nombre'];
        $datos['Cabecera']['division'] = $codtie;
        $datos['Cabecera']['tienda'] = $tienda['TiendaLocal']['nombre'];
/////////////// FIN ENCABEZADO /////////
/////////////// INICIO DETALLE /////////
        $totalimpuesto = 0;
        $totalneto = 0;
        $totaltotal = 0;
        for ($i = 0; $i < count($documentoDetalle); $i++) {

            $material = $objMateriales->find('first', array('conditions' => array('Material.id' => $documentoDetalle[$i]['FacturacionDetalle']['material_id'])));
            $datos['Detalle'][$i]['codigo'] = $material['Material']['codigo'];
            $datos['Detalle'][$i]['nombre'] = $material['Material']['nombre'];
            $datos['Detalle'][$i]['cantidad'] = $documentoDetalle[$i]['FacturacionDetalle']['cantidad'];
            $datos['Detalle'][$i]['precio_venta'] = $this->Interfaz->miles($documentoDetalle[$i]['FacturacionDetalle']['precio'], 2, '.', ',');
            $datos['Detalle'][$i]['impuesto'] = $documentoDetalle[$i]['FacturacionDetalle']['impuesto'];
            $precio_neto = ($documentoDetalle[$i]['FacturacionDetalle']['precio'] * $documentoDetalle[$i]['FacturacionDetalle']['cantidad']);
            $precio_impuesto = ((($documentoDetalle[$i]['FacturacionDetalle']['precio'] * $documentoDetalle[$i]['FacturacionDetalle']['impuesto']) / 100) * $documentoDetalle[$i]['FacturacionDetalle']['cantidad']);
            //$datos['Detalle'][$i]['precio_impuesto']=$precio_impuesto; 
            $datos['Detalle'][$i]['precio_neto'] = $this->Interfaz->miles($precio_neto, 2, '.', ',');
            $precio_total = ((($precio_neto * $documentoDetalle[$i]['FacturacionDetalle']['impuesto']) / 100) + $precio_neto);
            $datos['Detalle'][$i]['precio_total'] = $this->Interfaz->miles($precio_total, 2, '.', ',');
            $totalneto+=$precio_neto;
            $totalimpuesto+=$precio_impuesto;
            $totaltotal+=$precio_total;
        }
/////////////// FIN DETALLE /////////

        $datos['Pie']['totalneto'] = $this->Interfaz->miles($totalneto, 2, '.', ',');
        $datos['Pie']['totalimpuesto'] = $this->Interfaz->miles($totalimpuesto, 2, '.', ',');
        $datos['Pie']['totaltotal'] = $this->Interfaz->miles($totaltotal, 2, '.', ',');
        return $datos;
    }

    private function setear($formato = 'ERROR', $id_impresion = 0, $estatus_impresion = 0, $nombre = 0, $tipo = 0, $impresora='C', $res = 'false') {
        $this->set('id_impresion', $id_impresion);
        $this->set('estatus_impresion', $estatus_impresion);
        $this->set('nombre', $nombre);
        $this->set('tipo', $tipo);
        $this->set('res', $res);
        $this->set('formato', $formato);
        $this->set('impresora', $impresora);
    }

    private function setear_2($res = 'error', $tipo = 'datos de configuracion erroneos') {
        $this->set('res', $res);
        $this->set('tipo', $tipo);
    }

    private function tableImpresions($dato_p = null) {
        $punto_id = $dato_p['Punto']['id'];
        $tiendaSesion = $dato_p['Punto']['tienda'];
        $imp_id = $dato_p['Punto']['imp_id'];
        $objImpresion = $this->Maestro->modelo('punto', 'Impresion', $tiendaSesion);
        //$dato_i = $objImpresion->find('first', array('fields' => array('Impresion.id', 'Impresion.impresion', 'Impresion.documento_id', 'Impresion.tipo_documento', 'Impresion.datos', 'Impresion.tipo_impresion', 'Impresion.pausa'), 'conditions' => array('Impresion.punto_id' => $punto_id, 'Impresion.impresion' => 1), 'order' => 'Impresion.id asc'));
        $dato_i = $objImpresion->find('first', array('fields' => array('Impresion.id', 'Impresion.impresion', 'Impresion.documento_id', 'Impresion.tipo_documento', 'Impresion.datos', 'Impresion.tipo_impresion', 'Impresion.pausa'), 'conditions' => array('Impresion.id' => $imp_id)));
        return $dato_i;
    }
    
    public function imprimir() {
        // echo $this->consultarRIF('J-299263320');
        //CAMBIAR LOS GET A POST
        //tienda_-_T001_._clave_-_123456_._ip_-_192.168.98.77_._id_-_171_._tipo_-_REPORTE
        if (count($_GET) > 0) {
            $valores = (isset($_GET['valores'])) ? $_GET['valores'] : null;
            
            if ($valores != null){
                $valAr = explode('_._', $valores);
                $c_tie = str_replace('tienda_-_', '', $valAr['0']);
                $c_cla = str_replace('clave_-_', '', $valAr['1']);
                $c_ip = str_replace('ip_-_', '', $valAr['2']);
                $imp_id = str_replace('id_-_', '', $valAr['3']);
                $tipo = str_replace('tipo_-_', '', $valAr['4']);

                /*$c_tie = (isset($_GET['tienda'])) ? $_GET['tienda'] : null;
                $c_cla = (isset($_GET['clave'])) ? $_GET['clave'] : null;
                $c_ip = (isset($_GET['ip'])) ? $_GET['ip'] : null;
                $imp_id = (isset($_GET['id'])) ? $_GET['id'] : null;*/

                $dato_p = $this->validar_datos($c_tie, $c_cla, $c_ip);
                $dato_p['Punto']['imp_id'] = $imp_id;

                if (count($dato_p) > 0) {
                    $dato_i = $this->tableImpresions($dato_p);
                    //pr($dato_i);
                    $obj = json_decode($dato_i['Impresion']['datos'],true);
                    $archivo = $obj['Cabecera']['numero'];
                    if (count($dato_i) > 0) {
                        $tipoDoc = $dato_i['Impresion']['tipo_documento'];
                        $idDoc = $dato_i['Impresion']['documento_id'];
                        $estatus = $dato_i['Impresion']['impresion'];
                        $idImpre = $dato_i['Impresion']['id'];
                        $nombre = $tipoDoc . "_Impresion_" . $dato_i['Impresion']['id'];
                        $impresora = $dato_i['Impresion']['tipo_impresion'];
                        $Plantilla = $this->ConsultaPlantilla($tipoDoc);

                        if (count($Plantilla) < 1) {
                            $formato = 'NO SE TIENE UN FORMATO "' . $tipoDoc . '" CONFIGURADO';
                            echo $formato;
                            //$this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                        } else {
                            $estilos = $Plantilla['Plantilla']['estilos'];
                            //pr($estilos); die();

                            if ($tipoDoc == 'FAC') {
                                $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                                $formato = $this->Formatos->Factura($Plantilla, $datos);
                                //$this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                            } else if ($tipoDoc == 'DEV') {
                                $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                                $formato = $this->Formatos->Devolucion($Plantilla, $datos);
                                //$this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                            } else if ($tipoDoc == 'COT') {
                                $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                                $formato = $this->Formatos->Cotizacion($Plantilla, $datos);
                                //$this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                            } else if ($tipoDoc == 'NCR') {
                                $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                                $formato = $this->Formatos->NotaCredito($Plantilla, $datos);
                                //$this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                            } else if ($tipoDoc == 'NDB') {
                                $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                                $formato = $this->Formatos->NotaDebito($Plantilla, $datos);
                                //$this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                            }  else if ($tipoDoc == 'CTO') {
                                $datos = $this->ArrayDatos($dato_i['Impresion']['datos']);
                                $formato = $this->Formatos->CartaOrden($Plantilla, $datos);
                                //$this->setear($formato, $idImpre, $estatus, $nombre, $tipoDoc, $impresora, 'true');
                            } else
                                echo 'LA CONDICION "$tipoDoc" NO EXISTE';//$this->setear('LA CONDICION "$tipoDoc" NO EXISTE');
                        }
                        $reporte = ($tipo == 'REP') ? true : false;
                        $parametro = 'D';
                        $this->Pdf->Configurar('', array(215,200), 'fullpage', 1, 15, 1, 15, 9, 9, 'L');
                        $this->Pdf->Insertar($estilos, 1);
                        $this->Pdf->Generar($formato, $archivo, $parametro, $reporte);
                    } else
                        echo 'NO HAY DATOS POR IMPRIMIR'; /*$this->setear('NO HAY DATOS POR IMPRIMIR');*/
                } else
                    echo 'DATOS DE SESION NO VALIDOS'; /*$this->setear('DATOS DE SESION NO VALIDOS');*/
            } else
                echo 'FALTAN VALORES';
        } else
            echo 'NO EXISTEN PARAMETROS _GET _POST'; /*$this->setear('NO EXISTEN PARAMETROS _GET _POST');*/

        $this->autoRender = false;
    }
}